#ifndef  _QDBUS_COMMON_H_
#define  _QDBUS_COMMON_H_

// #include "InputServiceEngine.h"

#define COM_CPIS_ENGINE_BUS			Q_BUS_TYPE_SESSION
#define COM_CPIS_ENGINE_NAME		"com.cpis.engine"
#define COM_CPIS_ENGINE_OBJECT_PATH	"/com/cpis/engine"

#include <QList>
#include <QMap>
#include <QDBusArgument>

using QIntList = QList<int>;
Q_DECLARE_METATYPE(QIntList);

struct Int2{
    int i1;
    int i2;
};
Q_DECLARE_METATYPE(Int2);
using QInt2List = QList<Int2>;
Q_DECLARE_METATYPE(QInt2List);

using QStringMap = QMap<QString,QString>;
Q_DECLARE_METATYPE(QStringMap);

#ifdef MANUAL_CONVERT_QSTRMAP
QDBusArgument& operator<< (QDBusArgument& argument, const QStringMap& ssmap);
const QDBusArgument& operator>> (const QDBusArgument& argument, QStringMap& ssmap);
#endif //MANUAL_CONVERT_QSTRMAP


QDBusArgument& operator<< (QDBusArgument& argument, const Int2& i2);
const QDBusArgument& operator>> (const QDBusArgument& argument, Int2& i2);

#endif //_QDBUS_COMMON_H_
